<?php

/*

    ThuderZ - Web Application 

    Copyright (c) 2009 Mary Jane Soft - Marlon J. Manrique

    http://www.maryjanesoft.com
    http://www.marlonj.com

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General
    Public License along with this library; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    Boston, MA  02111-1307  USA

    $Id$

*/

/**
 * A Portlet with some CSS styles
 */
abstract class TPortlet extends CWidget {
    /**
     * Title of the portlet
     * @var string
     */
    protected $title;

    /**
     * Main Style 
     * @var string
     */
    protected $cssClass = 'portlet';

    /**
     * Header Style
     * @var string
     */
    protected $headerCssClass = 'header';

    /**
     * Content Style
     * @var string
     */
    protected $contentCssClass = 'content';

    /**
     * The portlet is visible
     * @var boolean 
     */
    protected $visible;

    /**
     * Execute the Widget
     */
    public function run() {
        // If no visible, do nothing
        if(!$this->visible) {
            return;
        }

        // Draw some divs 
        echo "<div class=\"{$this->cssClass}\">\n";

        // Draw title
        if($this->title != null) {
            echo "<div class=\"{$this->headerCssClass}\">{$this->title}</div>\n";
        }

        echo "<div class=\"{$this->contentCssClass}\">\n";

        // Render content 
        $this->renderContent();

        // Close divs 
        echo "</div><!-- {$this->contentCssClass} -->\n";
		echo "</div><!-- {$this->cssClass} -->";
    }

    /**
     * Draw the content of the portlet 
     */
    abstract protected function renderContent();
}

?>
